Robot and robot control method

ABSTRACT

A robot includes a controller configured to: detect a virtual wall signal; identify a virtual wall according to a signal threshold and the virtual wall signal; and when the virtual wall is identified, adjust the signal threshold, and control the robot to travel along an outer side of the virtual wall according to an adjusted signal threshold and the virtual wall signal, such that a driving wheel of the robot is located at the outer side of the virtual wall when the robot is traveling along the outer side of the virtual wall; wherein the outer side of the virtual wall is a side of the virtual wall within an active region of the robot.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of, and claims priority toPCT/CN2017/083111 filed on May 4, 2017, which claims priority to ChinesePatent Application No. 201610781395.2, filed on Aug. 30, 2016. Thedisclosures of these applications are hereby incorporated by referencein their entirely.

BACKGROUND

Automated devices and appliances are becoming more and more popular inhouseholds. One such a device is a cleaning robot, which is a robotconfigured to perform a cleaning operation while automatically travelingin a certain region without user operations.

SUMMARY

The present disclosure relates to the field of smart home appliances,and more particularly, to a robot and a method for controlling a robot.

In an aspect, a robot is provided including a controller configured to:detect a virtual wall signal via a detection component; identify avirtual wall according to a signal threshold and the virtual wall signalduring a traveling process of the robot; and when the virtual wall isidentified, adjust the signal threshold, and control the robot to travelalong an outer side of the virtual wall according to an adjusted signalthreshold and the virtual wall signal, such that a driving wheel of therobot is located at the outer side of the virtual wall when the robot istraveling along the outer side of the virtual wall; in which the outerside of the virtual wall is a side of the virtual wall within an activeregion of the robot.

In some embodiments, the signal threshold is a first signal threshold,the adjusted signal threshold is a second signal threshold, and thesecond signal threshold is less than the first signal threshold.

In some embodiments, the controller is further configured to: controlthe robot to return back a predetermined distance and to travel alongthe outer side of the virtual wall when the virtual wall is identified;and adjust a traveling path of the robot according to a relation betweenthe virtual wall signal and the second signal threshold when the robotis traveling along the outer side of the virtual wall.

In some embodiments, the controller is further configured to: detectwhether the virtual wall signal reaches the second signal threshold;control the robot to travel away from the virtual wall when detectingthat the virtual wall signal reaches the second signal threshold; andcontrol the robot to travel towards the virtual wall when detecting thatthe virtual wall signal is less than the second signal threshold.

In some embodiments, the controller is further configured to: fit thetraveling path according to a predetermined number of virtual wallsignals collected, the traveling path being corresponding to a shapedefined by the outer side of the virtual wall; and control the robot totravel along the traveling path and adjust the traveling path accordingto the virtual wall signal, when detecting that a difference between thevirtual wall signal and the second signal threshold is within apredetermined range.

In some embodiments, the controller is further configured to: detectwhether the virtual wall signal reaches the first signal threshold; anddetermine that the virtual wall is identified when detecting that thevirtual wall signal reaches the first signal threshold.

In some embodiments, the controller is further configured to: executeagain an act of identifying the virtual wall according to the signalthreshold and the virtual wall signal when the robot completes travelingalong the outer side of the virtual wall.

In some embodiments, the controller is further configured to: detectwhether the virtual wall signal is less than the second signalthreshold; and determine that the robot completes traveling along theouter side of the virtual wall when a duration in which the virtual wallsignal is continuously detected as being less than the second signalthreshold reaches a predetermined duration.

In some embodiments, the controller is further configured to: determinea maximum value of the virtual wall signal during the traveling processof the robot; and adjust the first signal threshold according to themaximum value of the virtual wall signal.

In some embodiments, the detection component includes at least one of amagnetometer, a Hall sensor, or an infrared sensor.

In some embodiments, the detection component is arranged behind a guidewheel of the robot with respect to a forward traveling direction.

In some embodiments, the robot is a cleaning robot.

In another aspect, a method for controlling a robot includes: detectinga virtual wall signal via a detection component; identifying a virtualwall according to a signal threshold and the virtual wall signal duringa traveling process of the robot; and adjusting the signal threshold andcontrolling the robot to travel along an outer side of the virtual wallaccording to an adjusted signal threshold and the virtual wall signal,when the virtual wall is identified, such that a driving wheel of therobot is located at the outer side of the virtual wall when the robot istraveling along the outer side of the virtual wall; in which the outerside of the virtual wall is a side of the virtual wall within an activeregion of the robot.

In some embodiments, the signal threshold is a first signal threshold,the adjusted signal threshold is a second signal threshold, and thesecond signal threshold is less than the first signal threshold.

In some embodiments, controlling the robot to travel along the outerside of the virtual wall according to the adjusted signal threshold andthe virtual wall signal includes: controlling the robot to return back apredetermined distance and to travel along the outer side of the virtualwall when the virtual wall is identified; and adjusting a traveling pathof the robot according to a relation between the virtual wall signal andthe second signal threshold when the robot is traveling along the outerside of the virtual wall.

In some embodiments, adjusting the traveling path of the robot accordingto the relation between the virtual wall signal and the second signalthreshold includes: detecting whether the virtual wall signal reachesthe second signal threshold; controlling the robot to travel away fromthe virtual wall when detecting that the virtual wall signal reaches thesecond signal threshold; and controlling the robot to travel towards thevirtual wall when detecting that the virtual wall signal is less thanthe second signal threshold.

In some embodiments, adjusting the traveling path of the robot accordingto the relation between the virtual wall signal and the second signalthreshold includes: fitting the traveling path according to apredetermined number of virtual wall signals collected, the travelingpath being corresponding to a shape defined by the outer side of thevirtual wall; and controlling the robot to travel along the travelingpath and adjusting the traveling path according to the virtual wallsignal, when detecting that a difference between the virtual wall signaland the second signal threshold is within a predetermined range.

In some embodiments, identifying the virtual wall signal according tothe signal threshold and the virtual wall signal includes: detectingwhether the virtual wall signal reaches the first signal threshold; anddetermining that the virtual wall is identified when detecting that thevirtual wall signal reaches the first signal threshold.

In some embodiments, the method further includes: executing again an actof identifying the virtual wall according to the signal threshold andthe virtual wall signal when the robot completes traveling along theouter side of the virtual wall.

In some embodiments, the method further includes: detecting whether thevirtual wall signal is less than the second signal threshold; anddetermining that the robot completes traveling along the outer side ofthe virtual wall when a duration in which the virtual wall signal iscontinuously detected as being less than the second signal thresholdreaches a predetermined duration.

In some embodiments, the method further includes: determining a maximumvalue of the virtual wall signal during the traveling process of therobot; and adjusting the first signal threshold according to the maximumvalue of the virtual wall signal.

In some embodiments, the detection component includes at least one of amagnetometer, a Hall sensor, or an infrared sensor.

In some embodiments, the detection component is arranged behind a guidewheel of the robot with respect to a forward traveling direction.

In another aspect, a non-transitory computer readable storage medium isprovided having instructions stored therein, in which when theinstructions are executed by a controller, the above method forcontrolling a robot is executed.

It is to be understood that, both the foregoing general description andthe following detailed description describe only some embodiments by wayof example, and are not restrictive of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to clearly illustrate the various embodiments provided in thepresent disclosure, the following are drawings that accompany thedescription of the embodiments.

It is noted that these drawings shall be interpreted to serveillustrating purposes only, and that these drawings may represent justsome, but not all, of embodiments of the present disclosure. For thoseskilled in the art, other embodiments that are based on the structuresas described below and illustrated in these drawings may become obvious.As such, these other embodiments shall be interpreted to be containedwithin the scope of the disclosure.

FIG. 1A is a schematic diagram illustrating a robot according to someembodiments of the present disclosure.

FIG. 1B is a schematic diagram illustrating a robot according to someembodiments of the present disclosure.

FIG. 2 is a block diagram illustrating a robot according to someembodiments of the present disclosure.

FIG. 3 is a flow chart illustrating a method for controlling a robotaccording to some embodiments.

FIG. 4 is a flow chart illustrating a method for controlling a robotaccording to some other embodiments.

FIG. 5A is a schematic diagram illustrating a working process of a robotaccording to some other embodiments.

FIG. 5B is a schematic diagram illustrating a working process of a robotaccording to some other embodiments.

FIG. 5C is a schematic diagram illustrating a working process of a robotaccording to some other embodiments.

FIG. 6 is a flow chart illustrating a method for controlling a robotaccording to some other embodiments.

FIG. 7 is a flow chart illustrating a method for controlling a robotaccording to some other embodiments.

FIG. 8 is a flow chart illustrating a method for controlling a robotaccording to some other embodiments.

DETAILED DESCRIPTION

Descriptions will now be made in detail with respect to someembodiments, examples of which are illustrated in the accompanyingdrawings. The following description refers to the accompanying drawingsin which the same numbers in different drawings may represent the sameor similar elements unless otherwise represented. The implementationsset forth in the following description of example embodiments do notrepresent all implementations consistent with the disclosure. Instead,they are merely examples of devices and methods consistent with aspectsrelated to the disclosure as recited in the appended claims.

The inventors of the present disclosure have recognized that, in aregion where the cleaning robot is located, there may be some areaswhich a user does not desire the cleaning robot to enter. One such anexample a bathroom with water on the ground, where the cleaning robotmay suffer from the water damage if entering the bathroom. Anotherexample is a region having children's toys, where the cleaning robot mayaccidentally suck some toy parts into its dust box. Because there aregenerally no obstacles (such as doors and walls) arranged at boundariesaround such regions to block the cleaning robot, the user can set avirtual wall for these regions to prevent the cleaning robot fromentering these regions. For example, a virtual wall may be defined at anentrance to the bathroom.

The virtual wall can be defined by a virtual wall magnetic stripdisposed on the ground. During a traveling process of the cleaningrobot, a surrounding magnetic field strength may be detected by adetection component. When the detected magnetic field strength isgreater than a preset magnetic threshold, it is determined that thecleaning robot arrives at the virtual wall. The cleaning robot may turnaround and may work in an edge-along cleaning mode. When the magneticthreshold is set to be relatively large, the cleaning robot needs totravel very close to the virtual wall to enter the edge-along cleaningmode. Because the detection component is usually placed at the center ofthe cleaning robot, when the cleaning robot enters the edge-alongcleaning mode, a driving wheel may actually already across the virtualwall magnetic strip and enters into the region that the user does notdesire the cleaning robot to enter. As a result, the cleaning robot maystill suffer from the water damage in the bathroom, or bring toy partsinto the dust box.

On the other hand, if the magnetic threshold is set to be relativelysmall, although it may prevent the driving wheel from entering theregions, the cleaning robot may enter into the edge-along cleaning modeat a position far from the virtual wall. In some cases, the cleaningrobot may take a weak magnetic item, such as stainless-steel furniture,as the virtual wall by mistake and thus enter into the edge-alongcleaning mode. As a result, user interventions are often required. It isdifficult to completely automate the cleaning in a complex environment.

In actual implementations, in order to prevent the driving wheel of thecleaning robot from entering the region which the user does not desirethe cleaning robot to enter, two or more detection components may bedisposed at peripheries of the cleaning robot. The plurality ofdetection components are configured to jointly identify the virtualwall. However, it may be difficult to configure the cleaning robot withthe plurality of detection components, due to an increase of complexityof circuitry and an increase of manufacturing cost of the cleaningrobot.

FIGS. 1A and 1B each is a schematic diagram illustrating a robotaccording to some example embodiments. FIG. 1A illustrates a topperspective view of a robot 10, while FIG. 1B illustrates a bottom viewof the robot 10. As illustrated in FIGS. 1A and 1B, the robot 10includes a robot body 110, a driving module or portion 120, a detectioncomponent or portion 130, a control module (not shown), and a storagecomponent (not shown).

The various device components, units, blocks, or portions may havemodular configurations, or are composed of discrete components, butnonetheless may be referred to as “modules” in general. In other words,the “modules” or “units” referred to herein may or may not be in modularforms.

The robot body 110 forms a housing of the robot 10, and is configured toaccommodate other components. In some embodiments, the robot body 110 isflat-cylindrical-shaped.

The driving module 120 is configured to drive the robot 10 to travelforwards or backwards.

In some embodiments, the driving module 120 includes a pair of drivingwheels 121 and 122 arranged on the bottom of the robot body 110, at twosides of the middle of the bottom. The driving wheels 121 and 122 areconfigured to drive the robot 10 to travel forwards or backwards.

In some embodiments, the driving module 120 further includes a guidewheel 123 arranged at the front of the robot body 110. The guide wheel123 is configured to change a traveling direction of the robot while thecleaning robot is traveling.

The detection component 130 is configured to detect circumferentialenvironment of the robot 10, so as to find a virtual wall included inthe circumferential environment. The detection component 130 is furtherconfigured to send a detected virtual wall signal to the control module.In some embodiments, the detection component 130 includes at least oneof a compass, a Hall sensor, or an infrared sensor. The detectioncomponent 130 is generally arranged on a circuit board inside the robotbody 110. The detection component 130 is at middle of the front of therobot body. In some embodiments, the detection component 130 is arrangedbehind the guide wheel in the front of the robot body with respect of aforwards traveling direction. FIG. 1B illustrates that the detectioncomponent 130 is arranged behind the guide wheel and in front of thedriving wheels 121 and 122 by examples.

The controller or control portion is arranged on the circuit boardinside the robot body 110. The control module includes a processor. Theprocessor may be configured to determine a current working status of therobot according to the virtual wall signal fed back from the compass,the Hall sensor and the infrared sensor. In some embodiments, theprocessor is a microcontroller unit (MCU) or an electronic operationprocessor (AP).

The storage component is arranged on the circuit board inside the robotbody 110. The storage component includes a memory device. The memorydevice may be configured to store positional information and velocityinformation of the robot, and a real-time map drawn by the processor.

In some embodiments, the robot may further include other modules orcomponents, or only include the above-mentioned modules or components,which is not limited in embodiments. The above robot is only used as anexample for illustration.

In some embodiments, the robot discussed in embodiments is a cleaningrobot. As illustrated in FIG. 1B, the cleaning robot generally furtherincludes a main brush 140.

The main brush 140 is arranged at the bottom of the robot body 110. Insome embodiments, the main brush 140 may be a drum-shaped rotating brushthat may rotate with respect to a contact surface by a roller type. Themain brush 140 is configured to perform a cleaning operation during atraveling process of the cleaning robot 10.

FIG. 2 is a block diagram illustrating a robot according to someembodiments. The robot includes a detection unit 210, a receiving unit220, a controller 230, an outputting unit 240, a storage unit 250 and adriving unit 260.

The detection unit 210 is configured to detect a virtual wall signalduring a traveling process of the robot.

The receiving unit 220 is configured to receive the virtual wall signalfed back by the detection unit 210.

The controller 230 is configured to identify a virtual wall according tothe virtual wall signal received by the receiving unit 220 and a presetsignal threshold, and to control an overall operation of the robot. Whenan instruction of traveling is received, the controller 230 isconfigured to control the robot to travel along a traveling pathaccording to a preset traveling mode. Other instructions of a userreceived by the controller 230 are not elaborated in embodiments.

The outputting unit 240 is configured to output a control signal of thecontroller 230 to the driving unit 260.

The storage unit 250 is configured to store at least one instruction.The at least one instruction includes an instruction of performing apreset traveling mode along a preset traveling path, an instruction ofdrawing a real-time map, or the like. The storage unit 250 is furtherconfigured to store the preset signal threshold, data of self-locationsensed by the robot during the traveling process, data related tovirtual wall or data related to other obstacles.

The driving unit 260 is configured to control a driving direction and arotational speed of the driving wheels according to the control signalof the controller 230.

In example embodiments, the controller 230 may be realized by one ormore application specific integrated circuits (ASICs), digital signalprocessors (DSPs), digital signal processing devices (DSPDs),programmable logic devices (PLDs), field programmable gate array(FPGAs), controllers, microcontrollers, microprocessors or otherelectronic components, for executing the method for charging the robotprovided in embodiments.

It is to be explained that, when the robot is the cleaning robot, acleaning unit (not shown) connected to the outputting unit 240 isgenerally included. The cleaning unit is configured to receive theinstruction of cleaning from the controller 230 through the outputtingunit 240, and to control, according to the instruction of cleaning, themain brush to clean a contact surface with the main brush in a rotationmanner during the traveling process of the cleaning robot.

The controller 230 is configured to detect a virtual wall signal by adetection component.

In addition, the controller 230 is configured to identify a virtual wallaccording to a signal threshold and the virtual wall signal during atraveling process of the robot.

Furthermore, the controller 230 is configured to adjust the signalthreshold when the virtual wall is identified, and control the robot totravel along an outer side of the virtual wall according to an adjustedsignal threshold and the virtual wall signal, such that a driving wheelof the robot is located at the outer side of the virtual wall during thetraveling process of the robot along the outer side of the virtual wall.

The outer side of the virtual wall is a side of the virtual wall withinan active region of the robot.

In some embodiments, the controller 230 is further configured todetermine the signal threshold as a first signal threshold, anddetermine the adjusted signal threshold as a second signal threshold.The second signal threshold is less than the first signal threshold.

In some embodiments, the controller 230 is further configured to controlthe robot to return back a predetermined distance and to travel alongthe outer side of the virtual wall when the virtual wall is identified.

In addition, the controller 230 is configured to adjust a traveling pathof the robot according to a relation between the virtual wall signal andthe second signal threshold when the robot is traveling along the outerside of the virtual wall.

In some embodiments, the controller 230 is further configured to detectwhether the virtual wall signal reaches the second signal threshold;

In addition, the controller 230 is further configured to control therobot to travel away from the virtual wall when it is detected that thevirtual wall signal reaches the second signal threshold.

Furthermore, the controller 230 is configured to control the robot totravel towards the virtual wall when it is detected that the virtualwall signal is less than the second signal threshold.

In some embodiments, the controller 230 is further configured to fit thetraveling path according to a predetermined number of virtual wallsignals collected. The traveling path corresponds to a shape defined bythe outer side of the virtual wall.

In addition, the controller 230 is further configured to control therobot to travel along the traveling path and adjust the traveling pathaccording to the virtual wall signal, when a difference between thevirtual wall signal and the second signal threshold is within apredetermined range.

In some embodiments, the controller 230 is further configured to detectwhether the virtual wall signal reaches the first signal threshold.

In addition, the controller 230 is further configured to determine thatthe virtual wall is identified when it is detected that the virtual wallsignal reaches the first signal threshold.

In some embodiments, the controller 230 is further configured to performagain an act of identifying the virtual wall according to the signalthreshold and the virtual wall signal when the robot completes travelingalong the outer side of the virtual wall.

In some embodiments, the controller 230 is further configured to detectwhether the virtual wall signal is less than the second signalthreshold.

In addition, the controller 230 is further configured to determine thatthe robot completes traveling along the outer side of the virtual wallwhen a duration in which the virtual wall signal is continuouslydetected as being less than the second signal threshold reaches apredetermined duration.

In some embodiments, the controller 230 is further configured todetermine a maximum value of the virtual wall signal during thetraveling process of the robot.

In addition, the controller 230 is further configured to adjust thefirst signal threshold according to the maximum value of the virtualwall signal.

In example embodiments, there is further provided a non-transitorycomputer readable storage medium including instructions, for example astorage unit 250 including instructions. The above instructions may beexecuted by the controller 230 to perform the method for controlling acleaning robot according to above embodiments of the present disclosure.For example, the non-transitory computer readable storage medium may bea read only memory (ROM), a random-access memory (RAM), a compact discread-only memory (CD-ROM), a tape, a floppy disk and optical datastorage devices, etc.

FIG. 3 is a flow chart illustrating a method for controlling a robotaccording to some embodiments. Applying the method to the robotillustrated in FIGS. 1A and 1B is taken as an example for illustrationin embodiments. The method for controlling a robot includes thefollowings.

In block 301, a virtual wall signal is detected by a detectioncomponent.

In block 302, a virtual wall is identified according to a signalthreshold and the virtual wall signal during a traveling process of therobot.

In block 303, the signal threshold is adjusted when the virtual wall isidentified, and the robot is controlled to travel along an outer side ofthe virtual wall according to an adjusted signal threshold and thevirtual wall signal, such that a driving wheel of the robot is locatedat the outer side of the virtual wall when the robot is traveling alongthe outer side of the virtual wall.

The outer side of the virtual wall refers to a side of the virtual wallwithin an active region of the robot.

With the method for controlling a cleaning robot provided in embodimentsof the present disclosure, by setting two different signal thresholds,the virtual wall is identified according to the signal threshold and thevirtual wall signal detected via the detection component during thetraveling process of the robot. When the virtual wall is identified, thesignal threshold is adjusted, and the robot is controlled to travelalong the outer side of the virtual wall according to the adjustedsignal threshold and the virtual wall signal. When the virtual wall isidentified and the robot is controlled to travel along the outer side ofthe virtual wall, a different signal threshold is used. A problem thatthe driving wheel of the robot enters the virtual wall when only asingle large signal threshold is set, or user's interventions arerequired due to a misjudgment when only a single small signal thresholdis set such that the robot cannot perform the cleaning operationautomatically within a complex environment, may be solved. On the basisof accurate identification of the virtual wall, an effect may berealized that the driving wheel of the robot is located at the outerside of the virtual wall and does not enter an inner side of the virtualwall when the robot is traveling along the outer side of the virtualwall.

In embodiments of the present disclosure, the signal threshold and theadjusted signal threshold are two signal thresholds with differentvalues set in advance. In embodiments, the signal threshold as the firstsignal threshold and the adjusted signal threshold as the second signalthreshold is taken as an example for illustration.

FIG. 4 is a flow chart illustrating a method for controlling a robotaccording to some embodiments. In embodiments, applying the method tothe robot illustrated in FIGS. 1A and 1B is taken as an example forillustration. The method for controlling a robot includes thefollowings.

In block 401, the virtual wall signal is detected by the detectioncomponent.

In some embodiments, the virtual wall signal is detected using thedetection component by the robot at a predetermined time interval.Duration of the predetermined time interval is a systemic value or auser customized value, which is not elaborated in embodiments.

The detection component generally corresponds to a type of the virtualwall. The virtual wall signal is a signal sensed by the detectioncomponent of the robot and corresponding to the type of the virtualwall. In some embodiments, when the virtual wall is a magnetic virtualwall defined by a magnetic strip and the detection component is acompass, the virtual wall signal is a magnetic field strength sensed bythe compass. When the virtual wall is a magnetic virtual wall defined bya magnetic strip, the detection component may also be the Hall sensor,and the virtual wall signal may be a potential difference generated bythe Hall sensor in the magnetic field. When the virtual wall is aninfrared virtual wall defined by infrared lights and the detectioncomponent is the infrared sensor, the virtual wall signal may be aninfrared signal sensed by the infrared sensor. An example that thevirtual wall signal is the magnetic field strength is used forillustration.

In block 402, during the traveling process of the robot, it is detectedwhether the virtual wall signal reaches the first signal threshold.

The first signal threshold is generally a large empirical value. In someembodiments, when the virtual wall signal is the magnetic fieldstrength, the first signal threshold is 2000 Gauss. In practicalimplementations, when the robot travels to a position such that adistance between the detection component and the magnetic strip is smallenough, the detected virtual wall signal from the magnetic strip mayreach the first signal threshold. For example, the robot travels aposition such that the detection component is properly located right onthe magnetic strip.

When the environment where the virtual wall is located varies, due to aninfluence of other objects located in the environment, the virtual wallsignal generated by the virtual wall is generally different. Forexample, when the virtual wall signal is the magnetic field strength,terrestrial magnetic field strength sensed by the robot is different.When the robot is placed at different floors, the virtual wall signalsdetected by the robot are different even if the virtual wall is definedby a same magnetic strip.

As another example, a wire may generate a magnetic field. When the wireis laid under the floor provided with the magnetic strip, the virtualwall signal detected by the robot is different from the virtual wallsignal detected from the magnetic strip when the wire is not laid underthe floor. In addition, when self-performance of the virtual wall ischanged, the virtual wall signal generated by the virtual wall may bedifferent. For example, when the magnetic strip is used for a long time,magnetism of the magnetic strip may be weakened. As a result, thevirtual wall signal detected by the robot may be gradually weakened.Therefore, the robot may adjust the first signal threshold according tothe actually detected virtual wall signal, which includes thefollowings.

(1) A maximum value of the virtual wall signal is determined during thetraveling process of the robot.

(2) The first signal threshold is adjusted according to the maximumvalue of the virtual wall signal.

When the first signal threshold is adjusted by the robot, the firstsignal threshold is adjusted to be slightly less than the maximum valueof the virtual wall signal. Terms “slightly less than” refers to that adifference between the maximum value of the virtual wall signal and thefirst signal threshold is less than a predetermined threshold. Thepredetermined threshold is a systemic preset value or a user customizedvalue. For example, the first signal threshold initiated by the robot is2000 Gauss. When the robot is traveling, the maximum value of thevirtual wall signal is detected as 1900 Gauss. The first signalthreshold is thus adjusted by the robot to 1800 Gauss.

In block 403, when it is detected that the virtual wall signal reachesthe first signal threshold, it is determined that the virtual wall isidentified.

In addition to a signal generated by the virtual wall, the virtual wallsignal detected by the robot may further include a signal correspondingto the type of the virtual wall and generated by other objects includedin the environment where the robot is located. In general, the signalgenerated by the virtual wall is strong, while the signal generated byother objects is weak. For example, when the virtual wall is themagnetic virtual wall and the virtual wall signal detected by the robotis the magnetic field strength, the magnetic field strength detected isgenerally strong. In addition, stainless steel furniture in theenvironment where the robot is located is also magnetic, and the robotalso detects the magnetic field strength of the stainless-steelfurniture, but the detected magnetic field strength is generally weak.

In addition, since the signal generated by the virtual wall is generallystrong, the virtual wall signal generated by the virtual wall can bedetected when the robot is far away from the virtual wall. Therefore,under this case, it is unreasonable to adjust the traveling directionwhen it is determined that the virtual wall signal is identified by therobot.

Therefore, in order to avoid a misjudgment that other objects aredetermined as the virtual wall or avoid identifying the virtual wall tooearly, the virtual wall signal reaching the first signal threshold isdetermined as the signal generated by the virtual wall, it is determinedthat the virtual wall is identified and a block 405 is executed.

In block 404, when it is detected that the virtual wall signal does notreach the first signal threshold, it is determined that the virtual wallis not identified.

When it is detected that the virtual wall signal does not reach thefirst signal threshold, the robot continues to travel according to acurrent traveling direction.

In block 405, when the virtual wall is identified, the signal thresholdis adjusted, and the robot is controlled to return back a predetermineddistance and to travel along an outer side of the virtual wall.

When the virtual wall is identified by the robot, the signal thresholdis switched from the first signal threshold to a second signalthreshold. The second signal threshold is generally a relatively smallempirical value. In some embodiments, when the virtual wall signal isthe magnetic field strength, the second signal threshold is 800 Gauss.In practical implementations, the virtual wall signal strength detectedby the robot at a certain distance from the virtual wall may be 800Gauss, for example, the robot is at 10 cm from the virtual wall.

When the robot is traveling, the robot is at the outer side of thevirtual wall. The outer side of the virtual wall refers to a side of thevirtual wall within an active region of the robot. An inner side of thevirtual wall refers to a side of the virtual wall within an inactiveregion of the robot. The inactive region of the robot refers to a regionthat the robot is not allowed to access. When the robot is the cleaningrobot, the outer side of the virtual wall is a side of the virtual wallto be cleaned and the inner side of the virtual wall is a side of thevirtual wall not to be cleaned.

Generally, when the robot travels a position such that the detectioncomponent is right on the magnetic strip, the virtual wall signaldetected is greater than the first signal threshold. Since the guidewheel of the robot is in front of the detection component, when thevirtual wall is identified by the robot, the guide wheel of the robot isgenerally located at the inner side of the virtual wall already. Asillustrated in the top view of the robot of FIG. 5A, when the detectioncomponent 130 of the robot is right on the magnetic strip 50, the guidewheel 123 is already at the inner region of the virtual wall defined bythe magnetic strip. If the robot is rotated directly, the driving wheelof the robot may enter the inner region of the virtual wall duo to therotation. Therefore, when the virtual wall is identified by the robot,the robot returns back the predetermined distance. The predetermineddistance is a systemic empirical value. In practical implementations,when the robot returns back the predetermined distance, the guide wheelof the robot returns to the outer side of the virtual wall. In theexample illustrated in FIG. 5A, when the robot returns back thepredetermined distance, the top view may be illustrated as FIG. 5B.

After the robot returns back the predetermined distance and after therobot is rotated by a predetermined degree to a predetermined direction,the robot travels along the outer side of the virtual wall. Thepredetermined direction and the predetermined degree are systemicpredetermined value. The robot being rotated by the predetermined degreetowards left is taken as an example for illustration in embodiments.

In some embodiments, when the robot is the cleaning robot, the cleaningrobot returns back the predetermined distance and performs the cleaningoperation along the outer side of the virtual wall.

In some embodiments, after the robot is rotated by the predetermineddegree to the predetermined direction, the signal threshold is adjusted.Or, after the signal threshold is adjusted by the robot, the robot isrotated by the predetermined degree to the predetermined direction.

It is to be explained that, the virtual wall may have any shape. Shapesof the virtual wall illustrated in FIGS. 5A and 5B are examples, whichare not limited in embodiments.

In block 406, when the robot is traveling along the outer side of thevirtual wall, the traveling path of the robot is adjusted according to arelation between the virtual wall signal and the second signalthreshold.

There are two implementations included in the block 406.

In a first possible implementation, the block 406 may be realized byfollowings, as illustrated in FIG. 6.

In block 601, it is detected whether the virtual wall signal reaches thesecond signal threshold.

In block 602, when it is detected that the virtual wall signal reachesthe second signal threshold, the robot is controlled to travel away fromthe virtual wall.

When the robot detects that the virtual wall signal reaches the secondsignal threshold, the robot is rotated by the predetermined degree awayfrom the virtual wall to travel. The predetermined degree is a systemicpredetermined value or may be determined by the cleaning robot accordingto a difference between the virtual wall signal and the second signalthreshold, which is not limited in embodiments.

In general, in block 405, when the robot is rotated to left and travelsalong an obstacle, the direction away from the virtual wall is left.When the robot is rotated to left and travels along the obstacle, thedirection away from the virtual wall is right.

In block 603, when it is detected that the virtual wall signal is lessthan the second signal threshold, the robot is controlled to traveltowards the virtual wall.

The implementations of the blocks may be combined with the above blocks,which are not elaborated in embodiments.

In an example, a schematic diagram that the robot travels along thevirtual wall and performs the cleaning operation is illustrated as FIG.5C. An orientation of a triangle on the robot 10 refers to the travelingdirection of the robot 10. When the robot is traveling along the outerside of the virtual wall to perform the cleaning operation, thetraveling direction may be continuously adjusted according to thevirtual wall signal and the second signal threshold. The robot maytravel essentially according to a wave-shaped line. A dotted line inFIG. 5C illustrates the traveling direction of the robot 10. It is to beexplained that, although FIG. 5C illustrates that the robot travelsalong the wave-shaped line, in practical implementations, the travelingdirection of the robot 10 may be adjusted at a very high frequency. Forthe user, it appears that the robot 10 travels according to a directline along the virtual wall.

In a second possible implementation, the block 406 may be realized bythe followings, as illustrated in FIG. 7.

In block 701, the traveling path is fit according to a predeterminednumber of virtual wall signals collected.

The traveling path corresponds to a shape formed by the outer side ofthe virtual wall. In general, the shape formed by the outer side of thevirtual wall is regular. For example, when the virtual wall is themagnetic virtual wall defined by the magnetic strip, the virtual wall isgenerally direct-line-shaped or arc-shaped. In order to facilitate therobot to travel along the outer side of the virtual wall according to asmoother traveling trace, the traveling path may be obtained by fittingthe collected several virtual wall signals. The predetermined number maybe a systemic predetermined value or a customized value.

For example, taking the virtual wall signal being the magnetic fieldstrength and the predetermined number being 10 as an example, when 10magnetic field strengths collected by the robot are all 800 Gauss, thetraveling path fit by the robot is a direct line along the currenttraveling direction.

In block 702, when it is detected that the difference between thevirtual wall signal and the second signal threshold is within apredetermined range, the robot is controlled to travel along thetraveling path, and the traveling path is adjusted according to thevirtual wall signal.

The predetermined range is a systemic predetermined value. When thedifference between the virtual wall signal and the second signalthreshold exceeds the predetermined range, the traveling path may beadjusted through the method illustrated in blocks 601-603 by the robot,which is not elaborated in embodiments.

In some embodiments, the robot may travel for a circle rounding theregion defined by the virtual wall. Or, as illustrated in FIGS. 5A-5C,when the robot travels along the virtual wall until the robot senses anobstacle, such as a real wall, it is determined that the robot completestraveling along the outer side of the virtual wall. The method mayfurther include the followings, as illustrated in FIG. 8.

In block 801, it is detected whether the virtual wall signal is lessthan the second signal threshold.

In block 802, when it is detected that a duration in which the virtualwall signal is continuously detected as being less than the secondsignal threshold reaches a predetermined duration, it is determined thatthe robot completes traveling along the outer side of the virtual wall.

For example, it is detected that the virtual wall signal is less thanthe second signal threshold within 3 seconds, it is determined that therobot completes traveling along the outer side of the virtual wall.

In block 803, when the robot completes traveling along the outer side ofthe virtual wall, the act of identifying the virtual wall according tothe signal threshold and the virtual wall signal is executed again.

When the robot completes traveling along the outer side of the virtualwall, in order to avoid a misjudgment, the first signal threshold havinga relatively large value is used for identifying the virtual wall.

Therefore, with the method for controlling a cleaning robot provided inembodiments of the present disclosure, by setting two different signalthresholds, the virtual wall is identified according to the signalthreshold and the virtual wall signal detected using the detectioncomponent during the traveling process of the robot. When the virtualwall is identified, the signal threshold is adjusted, and the robot iscontrolled to travel along the outer side of the virtual wall accordingto the adjusted signal threshold and the virtual wall signal. When thevirtual wall is identified and the robot is controlled to travel alongthe outer side of the virtual wall, a different signal threshold isused. A problem that the driving wheel of the robot enters inside of thevirtual wall when only a single large signal threshold is set, or user'sinterventions are required due to a misjudgment when only a single smallsignal threshold is set such that the robot cannot perform the cleaningoperation automatically within a complex environment, may be solved. Onthe basis of accurate identification of the virtual wall, an effect maybe realized that the driving wheel of the robot is located at the outerside of the virtual wall and does not enter an inner side of the virtualwall when the robot is traveling along the outer side of the virtualwall.

The terms “first” and “second” are used for descriptive purposes onlyand are not to be construed as indicating or implying a relativeimportance or implicitly indicating the number of technical featuresindicated. Thus, elements referred to as “first” and “second” mayinclude one or more of the features either explicitly or implicitly. Inthe description of the present disclosure, “a plurality” indicates twoor more unless specifically defined otherwise.

In the present disclosure, the terms “installed,” “connected,”“coupled,” “fixed” and the like shall be understood broadly, and may beeither a fixed connection or a detachable connection, or integrated,unless otherwise explicitly defined. These terms can refer to mechanicalor electrical connections, or both. Such connections can be directconnections or indirect connections through an intermediate medium.These terms can also refer to the internal connections or theinteractions between elements. The specific meanings of the above termsin the present disclosure can be understood by those of ordinary skillin the art on a case-by-case basis.

In the description of the present disclosure, the terms “oneembodiment,” “one implementation,” “some embodiments,” “someimplementations,” “example,” “specific example,” or “some examples,” andthe like may indicate a specific feature described in connection withthe embodiment or example, a structure, a material or feature includedin at least one embodiment or example. In the present disclosure, theschematic representation of the above terms is not necessarily directedto the same embodiment or example.

Moreover, the particular features, structures, materials, orcharacteristics described may be combined in a suitable manner in anyone or more embodiments or examples. In addition, various embodiments orexamples described in the specification, as well as features of variousembodiments or examples, may be combined and reorganized.

In some embodiments, the control and/or interface software or app can beprovided in a form of a non-transitory computer-readable storage mediumhaving instructions stored thereon is further provided. For example, thenon-transitory computer-readable storage medium may be a ROM, a RAM, aCD-ROM, a magnetic tape, a floppy disk, optical data storage equipment,a flash drive such as a USB drive or an SD card, and the like.

Implementations of the subject matter and the operations described inthis disclosure can be implemented in digital electronic circuitry, orin computer software, firmware, or hardware, including the structuresdisclosed herein and their structural equivalents, or in combinations ofone or more of them. Implementations of the subject matter described inthis disclosure can be implemented as one or more computer programs,i.e., one or more portions of computer program instructions, encoded onone or more computer storage medium for execution by, or to control theoperation of, data processing apparatus.

Alternatively, or in addition, the program instructions can be encodedon an artificially-generated propagated signal, e.g., amachine-generated electrical, optical, or electromagnetic signal, thatis generated to encode information for transmission to suitable receiverapparatus for execution by a data processing apparatus. A computerstorage medium can be, or be included in, a computer-readable storagedevice, a computer-readable storage substrate, a random or serial accessmemory array or device, or a combination of one or more of them.

Moreover, while a computer storage medium is not a propagated signal, acomputer storage medium can be a source or destination of computerprogram instructions encoded in an artificially-generated propagatedsignal. The computer storage medium can also be, or be included in, oneor more separate components or media (e.g., multiple CDs, disks, drives,or other storage devices). Accordingly, the computer storage medium maybe tangible.

The operations described in this disclosure can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The devices in this disclosure can include special purpose logiccircuitry, e.g., an FPGA (field-programmable gate array), or an ASIC(application-specific integrated circuit). The device can also include,in addition to hardware, code that creates an execution environment forthe computer program in question, e.g., code that constitutes processorfirmware, a protocol stack, a database management system, an operatingsystem, a cross-platform runtime environment, a virtual machine, or acombination of one or more of them. The devices and executionenvironment can realize various different computing modelinfrastructures, such as web services, distributed computing, and gridcomputing infrastructures.

A computer program (also known as a program, software, softwareapplication, app, script, or code) can be written in any form ofprogramming language, including compiled or interpreted languages,declarative or procedural languages, and it can be deployed in any form,including as a stand-alone program or as a portion, component,subroutine, object, or other portion suitable for use in a computingenvironment. A computer program may, but need not, correspond to a filein a file system. A program can be stored in a portion of a file thatholds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more portions, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this disclosure can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA, or an ASIC.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory, ora random-access memory, or both. Elements of a computer can include aprocessor configured to perform actions in accordance with instructionsand one or more memory devices for storing instructions and data.

Generally, a computer will also include, or be operatively coupled toreceive data from or transfer data to, or both, one or more mass storagedevices for storing data, e.g., magnetic, magneto-optical disks, oroptical disks. However, a computer need not have such devices. Moreover,a computer can be embedded in another device, e.g., a mobile telephone,a personal digital assistant (PDA), a mobile audio or video player, agame console, a Global Positioning System (GPS) receiver, or a portablestorage device (e.g., a universal serial bus (USB) flash drive), to namejust a few.

Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented with acomputer and/or a display device, e.g., a VR/AR device, a head-mountdisplay (HMD) device, a head-up display (HUD) device, smart eyewear(e.g., glasses), a CRT (cathode-ray tube), LCD (liquid-crystal display),OLED (organic light emitting diode), TFT (thin-film transistor), plasma,other flexible configuration, or any other monitor for displayinginformation to the user and a keyboard, a pointing device, e.g., amouse, trackball, etc., or a touch screen, touch pad, etc., by which theuser can provide input to the computer.

The features disclosed herein may be implemented as part of a smart homeor a smart office design, which may implement individually or integrallyvarious electronic devices in a home or office. For example, control ordisplay functions described above may be realized on a mobile terminalsuch as a smart phone, or on a smart television

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described in this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), an inter-network (e.g., theInternet), and peer-to-peer networks (e.g., ad hoc peer-to-peernetworks).

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of any claims,but rather as descriptions of features specific to particularimplementations. Certain features that are described in thisspecification in the context of separate implementations can also beimplemented in combination in a single implementation. Conversely,various features that are described in the context of a singleimplementation can also be implemented in multiple implementationsseparately or in any suitable subcombination.

Moreover, although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

Therefore, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims can beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking orparallel processing may be utilized.

It is intended that the specification and embodiments be considered asexamples only. Other embodiments of the disclosure will be apparent tothose skilled in the art in view of the specification and drawings ofthe present disclosure. That is, although specific embodiments have beendescribed above in detail, the description is merely for purposes ofillustration. It should be appreciated, therefore, that many aspectsdescribed above are not intended as required or essential elementsunless explicitly stated otherwise.

Various modifications of, and equivalent acts corresponding to, thedisclosed aspects of the example embodiments, in addition to thosedescribed above, can be made by a person of ordinary skill in the art,having the benefit of the present disclosure, without departing from thespirit and scope of the disclosure defined in the following claims, thescope of which is to be accorded the broadest interpretation so as toencompass such modifications and equivalent structures.

1. A robot, comprising a controller configured to: detect a virtual wallsignal; identify a virtual wall according to a signal threshold and thevirtual wall signal; and when the virtual wall is identified, adjust thesignal threshold, and control the robot to travel along an outer side ofthe virtual wall according to an adjusted signal threshold and thevirtual wall signal, such that a driving wheel of the robot is locatedat the outer side of the virtual wall when the robot is traveling alongthe outer side of the virtual wall; wherein the outer side of thevirtual wall is a side of the virtual wall within an active region ofthe robot.
 2. The robot according to claim 1, wherein the signalthreshold is a first signal threshold, the adjusted signal threshold isa second signal threshold, and the second signal threshold is less thanthe first signal threshold.
 3. The robot according to claim 2, whereinthe controller is further configured to: control the robot to returnback a predetermined distance and to travel along the outer side of thevirtual wall when the virtual wall is identified; and adjust a travelingpath of the robot according to a relation between the virtual wallsignal and the second signal threshold when the robot is traveling alongthe outer side of the virtual wall.
 4. The robot according to claim 3,wherein the controller is further configured to: detect whether thevirtual wall signal reaches the second signal threshold; control therobot to travel away from the virtual wall when detecting that thevirtual wall signal reaches the second signal threshold; and control therobot to travel towards the virtual wall when detecting that the virtualwall signal is less than the second signal threshold; or fit thetraveling path according to a predetermined number of virtual wallsignals collected, the traveling path being corresponding to a shapedefined by the outer side of the virtual wall; and control the robot totravel along the traveling path and adjust the traveling path accordingto the virtual wall signal, when detecting that a difference between thevirtual wall signal and the second signal threshold is within apredetermined range.
 5. The robot according to claim 2, wherein thecontroller is further configured to: detect whether the virtual wallsignal reaches the first signal threshold; and determine that thevirtual wall is identified when detecting that the virtual wall signalreaches the first signal threshold.
 6. The robot according to claim 2,wherein the controller is further configured to: execute again an act ofidentifying the virtual wall according to the signal threshold and thevirtual wall signal when the robot completes traveling along the outerside of the virtual wall.
 7. The robot according to claim 6, wherein thecontroller is further configured to: detect whether the virtual wallsignal is less than the second signal threshold; and determine that therobot completes traveling along the outer side of the virtual wall whena duration in which the virtual wall signal is continuously detected asbeing less than the second signal threshold reaches a predeterminedduration.
 8. The robot according to claim 2, wherein the controller isfurther configured to: determine a maximum value of the virtual wallsignal during the traveling process of the robot; and adjust the firstsignal threshold according to the maximum value of the virtual wallsignal.
 9. The robot according to claim 1, further comprising a detectorincluding at least one of a magnetometer, a Hall sensor, or an infraredsensor.
 10. The robot according to claim 9, wherein the detector isarranged behind a guide wheel of the robot with respect to a forwardtraveling direction.
 11. The robot according to claim 1, wherein therobot is a cleaning robot.
 12. A method for controlling a robot,comprising: detecting a virtual wall signal; identifying a virtual wallaccording to a signal threshold and the virtual wall signal; andadjusting the signal threshold and controlling the robot to travel alongan outer side of the virtual wall according to an adjusted signalthreshold and the virtual wall signal, when the virtual wall isidentified, such that a driving wheel of the robot is located at theouter side of the virtual wall when the robot is traveling along theouter side of the virtual wall; wherein the outer side of the virtualwall is a side of the virtual wall within an active region of the robot.13. The method according to claim 12, wherein the signal threshold is afirst signal threshold, the adjusted signal threshold is a second signalthreshold, and the second signal threshold is less than the first signalthreshold.
 14. The method according to claim 13, wherein the controllingthe robot to travel along the outer side of the virtual wall accordingto the adjusted signal threshold and the virtual wall signal comprises:controlling the robot to return back a predetermined distance and totravel along the outer side of the virtual wall when the virtual wall isidentified; and adjusting a traveling path of the robot according to arelation between the virtual wall signal and the second signal thresholdwhen the robot is traveling along the outer side of the virtual wall.15. The method according to claim 14, wherein the adjusting thetraveling path of the robot according to the relation between thevirtual wall signal and the second signal threshold comprises: detectingwhether the virtual wall signal reaches the second signal threshold;controlling the robot to travel away from the virtual wall whendetecting that the virtual wall signal reaches the second signalthreshold; and controlling the robot to travel towards the virtual wallwhen detecting that the virtual wall signal is less than the secondsignal threshold; or fitting the traveling path according to apredetermined number of virtual wall signals collected, the travelingpath being corresponding to a shape defined by the outer side of thevirtual wall; and controlling the robot to travel along the travelingpath and adjusting the traveling path according to the virtual wallsignal, when detecting that a difference between the virtual wall signaland the second signal threshold is within a predetermined range.
 16. Themethod according to claim 14, wherein the identifying the virtual wallsignal according to the signal threshold and the virtual wall signalcomprises: detecting whether the virtual wall signal reaches the firstsignal threshold; and determining that the virtual wall is identifiedwhen detecting that the virtual wall signal reaches the first signalthreshold.
 17. The method according to claim 14, further comprising:executing again an act of identifying the virtual wall according to thesignal threshold and the virtual wall signal when the robot completestraveling along the outer side of the virtual wall.
 18. The methodaccording to claim 17, further comprising: detecting whether the virtualwall signal is less than the second signal threshold; and determiningthat the robot completes traveling along the outer side of the virtualwall when a duration in which the virtual wall signal is continuouslydetected as being less than the second signal threshold reaches apredetermined duration.
 19. The method according to claim 14, furthercomprising: determining a maximum value of the virtual wall signalduring the traveling process of the robot; and adjusting the firstsignal threshold according to the maximum value of the virtual wallsignal.
 20. A non-transitory computer readable storage medium, havinginstructions stored therein, wherein when the instructions are executedby a controller, a method for controlling a robot is executed, themethod comprising: detecting a virtual wall signal via a detectioncomponent; identifying a virtual wall according to a signal thresholdand the virtual wall signal during a traveling process of the robot; andadjusting the signal threshold and controlling the robot to travel alongan outer side of the virtual wall according to an adjusted signalthreshold and the virtual wall signal, when the virtual wall isidentified, such that a driving wheel of the robot is located at theouter side of the virtual wall when the robot is traveling along theouter side of the virtual wall; wherein the outer side of the virtualwall is a side of the virtual wall within an active region of the robot.